package annotation;

import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;

/**
    java注解有一个生存时间的限制,默认情况下,
    注解只会保留到字节码文件里面,运行时会被删除
    @Override
    可以使用@Retention元注解来设置注解的生存时间.
    所谓元注解,指的是由系统提供,并且专门用来解释其他注释的解释.
 */
@Retention(RetentionPolicy.RUNTIME)
public @interface Test {
    /*
        value是一个属性,类型为String.
        注解的属性类型可以是String,基本类型,枚举类型,Class,注解类型以及以上类型构成的数组.
        如果属性名为value,并且满足如下两件条件之一,就可以在使用该注解时,不用写属性名:
        条件一 : 只有value这一个属性.
        条件二 : 有多个属性,并且多个属性都有缺省值,并且这些属性都使用缺省值
     */
    public String value();
    public int number() default 250;
}
